
function AsyncFn1(){
    let p1 = new Promise( (resolve, reject) => {
        setTimeout( () => {
            //1--模拟加载图片
            console.log('1--模拟图片加载成功');
            //异步操作完成后执行resolve函数；
            resolve();//接收来自then里面的函数块
        }, 1000)
    });
    return p1;
}
function AsyncFn2(){
    let p2 = new Promise( (resolve, reject) => {
        setTimeout( () => {
            //2--模拟加载商品信息
            console.log('2--模拟加载商品信息成功');
            //异步操作完成后执行resolve函数；
            resolve();//接收来自then里面的函数块
        }, 3000)
    });
    return p2;
}
function AsyncFn3(){
    let p3 = new Promise( (resolve, reject) => {
        setTimeout( () => {
            //3--模拟加载用户信息
            console.log('3--模拟加载用户信息成功');
            //异步操作完成后执行resolve函数；
            resolve();//接收来自then里面的函数块
        }, 2000)
    });
    return p3;
}

//通过
AsyncFn1().then( () => {
    console.log('图片已经加载到html中！');
    return AsyncFn2();//此时返回promise的实例对象p2
}).then( () => {//此时在调用p2的then方法
    console.log('商品信息已经加载到页面中！');
    return AsyncFn3();//此时返回promise的实例对象p3
}).then( () => {//此时在调用p2的then方法
   console.log('用户信息已通过验证！');
});
